/**************************************************************************************
*
*	Copyright (C) 2010 Brent Andrew O. Chua - See LICENSE.txt for more info.
*		
*	Filename	-	DX9Mapping.h
*
*	Description -	Provides convertion from Pulse specific graphics types to DX9 types. 
*
*	Comments	-
*
*	Modification History:
*			Name			   Date					Description
*			CodeSushi	-	10/23/2010	-	Creation of this file
**************************************************************************************/

#ifndef _PSX_DX9_MAPPING_H_
#define _PSX_DX9_MAPPING_H_

#include "PulseSTD.h"
#include "GraphicsTypes.h"

#include <D3D9.h>

namespace Pulse
{
	class DX9Mapping
	{
	public:

		static D3DDECLTYPE ToDeclarationType( const EVertexElementUsage::Type usage );
		
		static D3DDECLUSAGE ToDeclarationUsage( const EVertexElementUsage::Type usage );

		static D3DVERTEXELEMENT9 ToVertexElement( const VertexElement *pElement );

		static const CHAR * GetDXErrorDescription( HRESULT hr );

		static D3DFORMAT ToFormat( ETextureFormat::Type format );

	};
}

#endif /* _PSX_DX9_MAPPING_H_ */